augroup markdown
autocmd FileType markdown inoremap ,1 #<Space><ESC>a
autocmd FileType markdown inoremap ,2 ##<Space><ESC>a
autocmd FileType markdown inoremap ,3 ##<Space><ESC>a
autocmd FileType markdown inoremap ,4 ###<Space><ESC>a
autocmd FileType markdown inoremap ,d ``<Enter>``<ESC>ka<Enter>
autocmd FileType markdown inoremap ,c ```<Enter>```<ESC>ka<Enter>
autocmd FileType markdown inoremap ,b ****<ESC>hi<Enter>
autocmd FileType markdown inoremap ,i **<ESC>i
autocmd FileType markdown inoremap ,s ~~~~<ESC>hi
autocmd FileType markdown inoremap ,p ![]()<ESC>i
autocmd FileType markdown inoremap ,a []()<ESC>i
autocmd FileType markdown inoremap ,n ---<Enter><ESC>i
augroup END

augroup code
autocmd BufEnter *.c,*.cpp,*.cc,*.h,*.v,*.sv,*.svh,*.lua,*.scala,*.sc,*.mk,*.Makefile,*.makefile inoremap ( ()<Esc>i
autocmd BufEnter *.c,*.cpp,*.cc,*.h,*.v,*.sv,*.svh,*.lua,*.scala,*.sc,*.mk,*.Makefile,*.makefile inoremap [ []<Esc>i
autocmd BufEnter *.c,*.cpp,*.cc,*.h,*.v,*.sv,*.svh,*.lua,*.scala,*.sc,*.mk,*.Makefile,*.makefile inoremap { {}<Esc>i
autocmd BufEnter *.c,*.cpp,*.cc,*.h,*.v,*.sv,*.svh,*.lua,*.scala,*.sc,*.mk,*.Makefile,*.makefile inoremap ' ''<Esc>i
autocmd BufEnter *.c,*.cpp,*.cc,*.h,*.v,*.sv,*.svh,*.lua,*.scala,*.sc,*.mk,*.Makefile,*.makefile inoremap " ""<Esc>i
augroup END
